const mongoose = require("mongoose");
var express = require('express');
// 创建了一个路由器
var router = express.Router();
// 引入注册添加数据库数据接口
const { reg, login,get,updataHome,deleOneaddress,fromName,addPoster,getOneUser} = require("../api/users");
const { createToken } = require("tools-factory-tang/jwt");


// 浏览器访问服务器接口
// 登录接口
router.post('/login', async function (req, res, next) {
  // req请求的对象  res响应的对象
  const { username, password } = req.body;
  const data = await login({ username, password });
  if (data) {
    // 当用户登录成功，生成token
    const token = createToken({ username });
    res.send({
      status: true,
      info: data,
      token,
    })
  } else {
    res.send({
      status: false
    })
  }
});

// 注册接口
router.post('/reg', async function (req, res, next) {
  const { username, password,iphone } = req.body;
  const status = await reg({ username, password,iphone }); //数据的传输需要用到await因为他们是异步代码
  res.send(
    status //这里注意自己传的数据类型
  )
})

// // 用户列表接口
// router.post('/list', async function (req, res, next) {
//   const { _id } = req.body;
//   const status = await list({ _id }); //数据的传输需要用到await因为他们是异步代码
//   res.send(
//     status //这里注意自己传的数据类型
//   )
// })
// 获取用户信息
router.get('/', async function (req, res, next) {
  // 解构当前页和每页显示条数
  const { curPage, eachPage } = req.query;
  const data = await get({ curPage, eachPage });

  res.send(data);
});

router.patch("/home",async function (req,res,next){
const {_id,home}=req.body
const data=await updataHome({_id,home})
res.send(data)


})

router.delete('/deleOneAddress',async function (req,res,next){
  const  {_id,addressId}=req.query
  const result= await deleOneaddress({_id,addressId})
  res.send(result)


})
router.get("/fromName",async(req,res,next)=>{
  const  {name}=req.query

  const result= await fromName({name})

  res.send(result)
})

//    `http://localhost:3001/users/poster`,
router.patch("/poster",async (req,res,next)=>{
  const {_id,url}=req.body
 const data=await addPoster({_id,url})
 res.send(data)
})
// 获取一个用户数据信息
router.get("/getOneUser",async (req,res,next)=>{
  const {_id}=req.query
 const data=await getOneUser({_id})
 res.send(data)
})
// 获取一个用户数据信息

// 暴露接口
module.exports = router;
